package com.qys.livesMall.shop.service.api.impl;

import com.qys.livesMall.common.result.R;
import com.qys.livesMall.shop.modal.dto.PayDto;
import com.qys.livesMall.shop.modal.dto.ShopCartDto;
import com.qys.livesMall.shop.modal.dto.ShopSeckillOrderDto;
import com.qys.livesMall.shop.modal.dto.shop.order.AddOrder;
import com.qys.livesMall.shop.modal.dto.shop.order.DirectAddOrder;
import com.qys.livesMall.shop.modal.dto.shop.order.NavyAddOrder;
import com.qys.livesMall.shop.modal.dto.shop.order.SeckillAddOrder;
import com.qys.livesMall.shop.modal.entity.ShopOrder;
import com.qys.livesMall.shop.modal.entity.ShopOrderInfo;

public interface ShopOrderService {

    /**
     * 通过购物车下单
     * @param addOrder
     * @return
     */
    ShopOrder add(AddOrder addOrder);

    /**
     * 直接下单
     * @param addOrder
     * @return
     */
    ShopOrder add(DirectAddOrder addOrder);

    /**
     * 秒杀下单
     * @param addOrder
     * @return
     */
    R<ShopOrder> add(SeckillAddOrder addOrder);


    R pay(Long orderId);
}
